<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../vue.js"></script>
</head>

<body>
    <div id="app">
        <!-- 
            事件绑定
                1.v-on：事件类型 = "事件函数名"
                2.@事件类型 = "事件函数名称"

                注意：自定义事件 方法在nethods中及进行声明
                事件函数正常来说，可以加小括号，也可以不加，如果需要传递参数，必须加小括号，如果不加小括号，事件函数的第一个参数就是事件对象，如果加小括号，想要获取事件对象的化，需要传递$event
         -->

        <!-- 1.使用v-on进行事件绑定 -->
        <button v-on:click="fn">v-on事件绑定</button>
        <button v-on:click="fn()">v-on事件绑定()</button>


        <!-- 使用@事件及进行事件绑定 -->
        <button @click="fn">@事件绑定</button>
        <button @click="fn()">@事件绑定()</button>

        <!-- 小括号问题 -->
        <hr>
        <button @click="_click(1,2,3)">传递参数</button>

        <!-- 事件对象 -->
        <hr>
        <button @click="_click1">不带小括号</button>
        <button @click="_click2('海鑫',$event)">带小括号</button>
    </div>


    <script>
        new Vue({
            el: '#app',
            data: {

            },
            methods: {
                fn() {
                    console.log('fnn');
                },
                _click(a, b, c) {
                    console.log(a, b, c);
                },
                _click1(e) {
                    console.log(e.target);//事件源
                },
                _click2(name, e) {
                    console.log(name);
                    console.log(e.target);
                }
            }
        })
    </script>
</body>

</html>